package com.gdms.service;

import java.util.List;
import java.util.Map;

import com.gdms.entity.*;

/**
 * 添加教师信息
 * 教师List
 * 删除教师信息
 * 根据id获得教师信息
 * 更新教师信息
 * 查询教师信息
 * 根据 no 获得教师信息
 * 上传课题
 * 显示当前教师所上传的课题
 * 根据 id 获得课题信息
 * 修改课题
 * 删除课题
 * 显示所有的课题
 * 更改课题审核状态(审核通过、未通过)
 * 教师查询自己上传的课题中审核通过的课题列表
 * 教师上传任务书，把文件目录保存到db中
 * 教师上传开题报告，把文件目录保存到db中
 * 获取该教师所上传的文件信息，并保存在map中
 * 获得与文件路径相匹配的课题id 文件目录：E:\BSM\教师id\课题id\文件名 也就是倒数第二个值
 * 根据课程id 获得该属性下的文件信息 包括 任务书和开题报告的文件路径
 * 根据课程id 删除数据信息 把数据库中的信息删掉
 * 根据文件路径获得所有信息
 * 根据课程id 把任务书或者开题报告删掉 也就是把数据库中的指设置为:""
 * 根据 任务书路径 或 开题报告 获得 TeacherTaskBookOpening信息
 * 根据 课题id 删除任务书 或者 开题报告
 * 根据 教师id 获得该教师管理的学生
 * 根据 学生id 获得选题信息
 * 根据 选题id 获得课题信息
 * 根据 学生id 获得StudentTaskBookOpening信息
 * 根据 学生No 审核学生上传的开题报告(1->不通过 2->通过)
 * 显示所有的公告信息
 * 根据学生id获得学生提交的论文信息
 * 给予学生提交的论文评价 (通过、不通过)
 * 添加学生成绩
 * 修改学生成绩
 * 根据 学生id 获得学生成绩
 * 把最终论文上传供admin查看
 * 显示所有的最终论文
 * 更新疑惑信息
 * 获得指定学生下的所有疑惑
 */

public interface ITeacherService {
	int addTeacher(Teacher teacher);
	List<Teacher> showAllTeacher();
	int deleteTeacher(int id);
	Teacher getTeacherById(int id);
	int updateTeacher(Teacher teacher);
	List<Teacher> showTeacherOne1(String teacherNo);
	List<Teacher> showTeacherOne2(String teacherName);
	List<Teacher> showTeacherOne3(String teacherNo,String teacherName);
	Teacher showInfoByNo(String teacherNo);
	int uploadSubject(Subject thesisTitle);
	List<Subject> showAllSubject(int teacherId);
	Subject getSubjectById(int id);
	int updateSubject(Subject subject);
	int deleteSubject(int id);
	List<Subject> showAllSubject();
	int agreeSubject(int id);
	int disagreeSubject(int id);
	List<Subject> showAllSubjectBeChecked(int teacherId);
	int uploadTaskBook(TeacherReport teacherReport);
	int uploadOpeningReport(TeacherReport teacherReport);
	int uploadFeasibilityAnalysisReport(TeacherReport teacherReport);
	int uploadDemandAnalysisReport(TeacherReport teacherReport);
	int uploadSummaryDesignReport(TeacherReport teacherReport);
	int uploadDatabaseFile(TeacherReport teacherReport);
	Map<String, String> uploadTeacherReport(int teacherId);
	String getSubjectByFilePath(String filePath);
	TeacherReport getTeacherReportBySubjectId(int subjectId);
	int deleteTeacherReport(int subjectId);
	TeacherReport getSubjectIdByTask(String taskBook);
	TeacherReport getSubjectIdByOpening(String opening);
	
	int resetTask(int thesisTitleId );
	
	int resetOpening(int thesisTitleId);
	
	List<Student> getAllStudentInfo(int teacherId);
	
	Topic getTopicInfoByStudentId(int studentId);
	
	ThesisTitle getThesisInfoByThesisId(int thesisId);
	
	StudentTaskBookOpening getStudentOpeningByStudentId(int studentId);
	
	int passOpening(String studentNo,String kexingscore);
	
	int passKexing(String studentNo,String xuqiuscore);
	
	int passXuqiu(String studentNo,String gaiyaoscore);
	
	int passGaiyao(String studentNo,String shujukuscore);
	
	int passShujuku(String studentNo,String openscore);
	
	int failOpening(String studentNo);
	
	
	int addTeacherProgress(TeacherProgress teacherProgress);
	
	List<TeacherProgress> getTeacherProgressByTeacherId(int teacherId);
	
	Student getStudentInfoByStudentId(int studentId);
	
	int passProgress(int id);
	
	int failProgress(int id);
	
	
	List<Announcement> showAllAnnouncement();
	
	
	ThesisInformation getInfoByStudentId(int studentId);
	
	int passThesisInformation(int studentId);
	
	int failThesisInformation(int studentId);
	
	int addStudentScore(StudentScore score);
	
	int modifyStudentScore(StudentScore score);
	
	StudentScore showInfoByStudentId(int studentId);
	
	int uploadThesis4Pass(ThesisPaper paper);
	
	List<ThesisPaper> getAllPaper();
	
	
	int updateDoubt(Doubt doubt);
	
	List<Doubt> getAllDoubtByStudentId(int studentId);

	int deleteZhiyuan(int id);

	List<Map> getAllScores(int teacherId);

	List<StudentTaskBookOpening> showAllInfo();

}
